/***************************************************************************
 
    This file is part of Count_and_Check
    Copyright (C) 2019 uncle-lu

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
***************************************************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDir>
#include <QFileDialog>
#include <QFile>
#include <QIcon>
#include <map>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_New_Folder_triggered();

    void on_Author_triggered();

    void on_projects_doc_triggered();

    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_Table_cellDoubleClicked(int row, int column);

private:
    Ui::MainWindow *ui;

    QIcon m_icon_c;
    QIcon m_icon_check;
    QIcon m_icon_folder;

    QDir main_Dir;

    std::map<QString,int>Map;

    QStringList filters;

    void init_table();
    void Dir_Count(QDir , int&);
    int File_Count(QDir);
    void Write_Count(QString);
    void Change_Dir(QDir);
};

#endif // MAINWINDOW_H
